package org.dromara.solonplugins.job.test3.job;

import org.dromara.solonplugins.job.IJobExecutor;
import org.dromara.solonplugins.job.IJobHandler;
import org.noear.solon.Solon;
import org.noear.solon.annotation.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 本示例因为采用了自定义Job来源，所以@JobHandler注解不需要了，因此注释掉。当然继续带着也并无影响
 *
 * @author: aoshiguchen
 */
@Component
//@JobHandler(name = "JobDemo3", cron = "0/5 * * * * ?")
public class JobDemo3 implements IJobHandler {
    private static final Logger log = LoggerFactory.getLogger(JobDemo3.class);

    @Override
    public void execute(String param) throws Exception {
        log.info("JobDemo3 执行一次后停止");

        /**
         * 停止job任务
         * 实际场景下，一般是Job管理界面点击停止任务后触发。
         * 对应的，可以使用jobExecutor.add(xxx)来启动一个任务。
         * jobExecutor.trigger 手动触发任一次务执行
         */
        Solon.context().getBean(IJobExecutor.class).stop("JobDemo3");
    }

}
